#!/usr/bin/env python3

__author__ = 'z.Wick.Tone.Burst'
__doc__ = """ MultiClassification Algorithms of ML."""

import numpy as np
import zt.ML.linear as mline
import zt.ML.utils as mltls



class MultiClassification:
    def __init__(self, Y, D):
        pass

    def classfy(self, x):
        pass
        # return self.predict(x)



class OVA(MultiClassification):
    """ OVA - One Versus All
    for k in Y
    - run logistic regression on each class
    - return g(x) = argmax(w.x)
    cons: not fit for too many/unbalanced class
    a simple multiclass meta-algorithm
    """
    pass



class OVO(MultiClassification):
    """ OVO - One Versus One
    for k, l in Y*Y
    - run binary classification on each pair
    - return g(x) = tournament champion(w.x)
    a simple multiclass meta-algorithm
    """
    pass
